﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="IValueCollection.cs" company="Radical Research Ltd">
//   Copyright (c) Radical Research Ltd. The MIT License (MIT)
// </copyright>
// <summary>
//   Collection of values.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace RadicalResearch.MiniState
{
    using System.Collections;

    /// <summary>Collection of values.</summary>
    public interface IValueCollection : IEnumerable
    {
        #region Indexers

        /// <summary>
        ///   Gets or sets the <see cref = "System.String" /> with the specified key.
        /// </summary>
        /// <param name="key">The key to get or set.</param>
        string this[string key]
        {
            get; set;
        }

        #endregion

        #region Public Methods

        /// <summary>Removes the specified key.</summary>
        /// <param name="key">The key to remove.</param>
        void Remove(string key);

        #endregion
    }
}